![]() | EXPRESIONES VIRTUALES |
( x = ((a b c) (d e f)) ) // matriz de 2 filas y 3 columnas
( (x\1\1 = a) (x\1\2 = b) (x\1\3 = c)
(x\2\1 = d) (x\2\2 = e) (x\2\3 = f) )
xt
de x
siguiente, que corresponde a la matriz transpuesta de x
:
( xt = ((a d) (b e) (c f)) ) // matriz de 3 filas y 2 columnas
〈( xt = ((x\1\1 x\2\1) (x\1\2 x\2\2) (x\1\3 x\2\3)) )〉
xt // ev. ((a b) (b e) (c f))
x
, entonces tenemos automáticamente el nuevo valor de xt
:
(x/1 = (1 2 3))
x // ev. (( 1 2 3) (d e f) )
xt // ev. ((1 d) (2 e) (3 f)) )
(u = {a b c})
(v = {d e f})
〈( union = {u↓ v↓} )〉
union // ev. {a b c d e f}
(u = {1 2 3})
union
:
union // ev. {1 2 3 d e f} )
(s = (45 34 6 12 85 23 72 51})
sel1
sea, en todo momento, la secuencia con los elementos de s
menores o iguales que 50 y sel2
los mayores de esta cantidad.
〈( sel1 = x⇓(≤50) )〉
〈( sel2 = x⇓(>50) )〉
sel1 // ev. (45 34 6 12 23)
sel2 // ev. (85 72 51)
(s\6 = 99)
, entonces tenemos automáticamente los nuevos valores de sel1
y sel2
:
sel1 // ev. (45 34 6 12)
sel2 // ev. (85 72 51 99)
x
:
x
:
〈( t(x) = ((nf = x#) // número de filas de x
(nc = (x\1)#) // número de columnas de x
(v = ( ( 0★nf)★nc ))
v/〈( v\i\j = x\j\i )) )〉 ¡v )〉
( x = (abc def) )
t(x) // ev. (ad be cf)
x
e y
:
〈( union(x y) = {x↓ y↓} )〉 // definición general
( u = {a b c} )
( v = {d e f} )
union(u v) // ev. {a b c d e f}
〈( unionuv = union(u v) )〉 // definición para dos conjuntos específicos
( u = {1 2 3} ) // modificación del conjunto u
unionuv // ev. {1 2 3 d e f} (nueva unión de u y v)
n
en una secuencia cualquiera s
:
〈( sel1(s n) = (s⇓(≤n) )〉
〈( sel2(s n) = (s⇓(>n) )〉
(s = (45 34 6 12 85 23 72 51})
〈( s1 = sel1(s 50) )〉
〈( s2 = sel2(s 50) )〉
s1 // ev. (45 34 6 12 23}
s2 // ev. (85 72 51)
(s/6 = 99) // se cambia s
s1 // ev. (45 34 6 12} // s1 cambia automáticamente
s2 // ev. (85 99 72 52} // s2 cambia automáticamente
〈( union(x y) = {x↓ y↓} )〉
〈( suma(x y) = +⊣( (union(x y))↓ ) )〉
(u = {1 2 3})
(v = {11 12 13})
union(u v) // ev. {1 2 3 11 12 13}
suma(u v)) // ev. 42
〈( suv = suma(union(u v)) )〉
suv // ev. 42
(u = {−1 −2 −3}) // cambiamos u
suv // ev. 30 // nuevo valor de la suma
〈( sel1(x n) = (x⇓(≤n) )〉 // selección de orden 1
〈( sel2(x n) = (sel1(x n))⇓(>n) )〉 // selección de orden 2
( s = (45 34 6 12 85 23 72 51} )
sel1(s 50) // ev. (45 34 6 12 23}
sel2(sel1(s 50) 30) // ev. (45 34}
〈( sel(x n) = x⇓(≤n) )〉 // definición inicial
(s = (45 34 6 12 85 23 72 51})
sel(s 50) // ev. (45 34 6 12 23}
〈( sel(x n) = x⇓(≥n)+1) )〉 // se redefine la selección
sel(s 50) // ev. (85 72 51}